const rootValue = 100 // postcss-plugin-px2rem选项rootValue的值
const UIWidth = 1920 // UI设计图的最大像素宽度
const maxWidth = Infinity // 用于计算font-size的最大宽度
const rate = 1920 / 1080 // 锁定宽高比，若屏幕太宽，则按高度计算font-size，反之则按宽度计算。若取值false/undefined/null，则始终按宽度计算
const docEl = document.documentElement
let logicWidth

const setHtmlFontSize = () => { // 设置根节点的font-size属性以适用rem布局
  logicWidth = docEl.clientWidth
  if (rate && docEl.clientWidth / docEl.clientHeight > rate) {
    logicWidth = docEl.clientHeight * rate
  }
  logicWidth = logicWidth > maxWidth ? maxWidth : logicWidth
  docEl.style.fontSize = logicWidth / (UIWidth / rootValue) + 'px'
}

setHtmlFontSize()
window.addEventListener("resize", setHtmlFontSize, false) // 横竖屏切换事件

export default function (px) {
  return (px * (UIWidth / rootValue) / logicWidth)
}
